I have put a lot of thought into what I would like my final piece for processing to be. Originally I wanted to make a program that grabs the user's library of music and compose a song based off of all of the songs, using the first second of each track as my starting point. However I soon learned that processing was not the appropriate language to do something that is based so heavily on sound.

I then decided that I would do something based more on visuals, but I also wanted something that dealt with some form of artificial intelligence. I read countless articles on the web that were based on the subject and realized that the amount of programing skills needed to create a simple AI design was minimal. Of course this interested me and seemed like something that I could incorporate, but I was still unsure as to how I was going to implement this into my project.

I was looking up video game hardware on the internet and I came across a lot of information on the Playstation 2. I am extremely familiar with this hardware, but the name of the processor, the emotion engine, really got me thinking about how we as humans are obsessed with making everything digital try to mimic our own behaviors. One of the nice parts of working with a machine is the fact that they do not have behavioral flaws or get upset or bored with our actions. This makes them such a ubiquitous tool. It is interesting that we as a race are trying to create this artificial intelligence in our image when all we have to do is breed to make more of our own kind.

That said, I decided that I wanted to take a closer look into this idea of implementing human emotions into a machine in order to make it more relatable and user friendly. If you break down human emotions biologically, they are caused by the release of certain chemicals into the brain due to the introduction of some sort of stimulus. In a way, this works exactly how a machine does. Finding the lowest common denominator allows for me to write a program that is simple, as well as powerful.

I want to first create a base program that will deal with a set of 2 emotions, happy and sad, and see how I can manipulate the computers response based upon a stimulus. I have yet to decide what the stimulus will be, but I want it to be based on some sort of user interaction. Once I have a base shell for how I can get the system will work, I would like to expand on it and give the computer a variety of emotions. Of course I will be satisfied if I can just get two emotions to display based on an algorithm that mimics a human response. But if I can get it to work, I believe that adding a wider range of emotions would come quickly.

As for visualization, color will be key on how the computer will show its emotional state, but I still unsure exactly what it will be displaying. I have already decided that I do not want it to be text-based, but rather a program that has a more “physical” reaction with the user, such as mouse movement and mouse clicking. Of course all of this depends on whether or not I can get the original program to function, but I think that processing will be able to handle it, as long as I can figure out a way to make the code simple.

I know that there are a lot of unknown factors in my proposal, but I plan on working on them this evening and this weekend, to see exactly how capable I am of making this program. If this project does not work, I think I would like to try something more text based, but I will further develop that idea only if my original idea does not work.